import { IPSAppDEField } from '../../app/dataentity/ipsapp-defield';
import { IPSDataItem } from '../../data/ipsdata-item';

/**
 *
 * 子接口类型识别属性[]
 * @export
 * @interface IPSDEGridDataItem
 */
export interface IPSDEGridDataItem extends IPSDataItem {
  /**
   * 应用实体属性
   *
   * @type {IPSAppDEField}
   */
  getPSAppDEField(): IPSAppDEField | null;

  /**
   * 应用实体属性
   *
   * @type {IPSAppDEField}
   */
  get psAppDEField(): IPSAppDEField | null;

  /**
   * 应用实体属性（必须存在）
   *
   * @type {IPSAppDEField}
   */
  getPSAppDEFieldMust(): IPSAppDEField;

  /**
   * 脚本代码
   * @type {string}
   */
  scriptCode: string;

  /**
   * 值类型
   * @description 值模式 [编辑器值类型] {SIMPLE：简单值、 SIMPLES：简单值数组、 OBJECT：对象（Object）、 OBJECTS：对象数组（Object[]）、 USER：用户自定义（USER）、 USER2：用户自定义2（USER2） }
   * @type {( string | 'SIMPLE' | 'SIMPLES' | 'OBJECT' | 'OBJECTS' | 'USER' | 'USER2')}
   * @default SIMPLE
   */
  valueType: string | 'SIMPLE' | 'SIMPLES' | 'OBJECT' | 'OBJECTS' | 'USER' | 'USER2';

  /**
   * 脚本代码模式
   * @type {boolean}
   * @default false
   */
  customCode: boolean;
}
